﻿#pragma once
#include "zyCtrol.h"

namespace DarkMoonUI {
	struct 黑月热键信息 {
		BYTE 键代码;
		BYTE 功能键; //@备注 “热键框_”开头常量组合。
	};
	class zyHotkeyBox : public  zyCtrol
	{
	public:
		
		zyHotkeyBox();
		~zyHotkeyBox();
		
		
		BOOL 创建(HWND 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 120 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		BOOL 创建(zyWindow& 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 120 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		黑月热键信息 取热键();
		void 置热键(黑月热键信息& 参数_热键信息);
		void 置规则(int 参数_规则, int 参数_替换功能键);
		//@备注 函数 整型 OnChange(HWND hWnd,短整型 ID)
		void 事件_内容被改变(TRegEvent* 参数_事件指针) { SetRegEvent(L"OnChange", 参数_事件指针); }
	protected:
		static LRESULT WINAPI zyHotkeyBox_ChildWndProc(zyObject* obj, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL* bHandle);

	};

}

